/**
 * Author : Jorge Mejuto Create : 10/06/2010
 */

package net.eyra.utiles;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;

public class Correo {

    private String[] rutaAdjunto = null;
    private List<String> para = null;
    private List<String> conCopia = null;
    private List<String> conCopiaOculta = null;
    private String asunto = null;
    private String cuerpo = null;

    private MultiPartEmail email;

    public Correo() {
    }

    public void Enviar() throws EmailException {
        email = new MultiPartEmail();
        email.setHostName("smtp.vpn.grupocobra.com");
        email.setAuthentication("co660017", "co660017");
        email.setFrom("energia@eyra.net");

        if (para != null && para.size() > 0) {
            for (String _para : para)
                email.addTo(_para);
        }
        if (conCopia != null && conCopia.size() > 0) {
            for (String _conCopia : conCopia)
                email.addTo(_conCopia);
        }
        if (conCopiaOculta != null && conCopiaOculta.size() > 0) {
            for (String _conCopiaOculta : conCopiaOculta)
                email.addTo(_conCopiaOculta);
        }
        if (rutaAdjunto != null && rutaAdjunto.length > 0) {
            for (String ruta : rutaAdjunto) {
                EmailAttachment adjunto = new EmailAttachment();
                adjunto.setPath(ruta);
                adjunto.setDisposition(EmailAttachment.ATTACHMENT);
                email.attach(adjunto);
            }
        }

        email.setSubject(asunto);
        email.setMsg(cuerpo);

        email.send();
    }

    public String[] getRutaAdjunto() {
        return rutaAdjunto;
    }

    public void setRutaAdjunto(String[] rutaAdjunto) {
        this.rutaAdjunto = rutaAdjunto;
    }

    public List<String> getPara() {
        return para;
    }

    public void setPara(List<String> para) {
        if (this.para == null) this.para = new ArrayList<String>();
        this.para = para;
    }

    public List<String> getConCopia() {
        return conCopia;
    }

    public void setConCopia(List<String> conCopia) {
        if (this.conCopia == null) this.conCopia = new ArrayList<String>();
        this.conCopia = conCopia;
    }

    public List<String> getConCopiaOculta() {
        return conCopiaOculta;
    }

    public void setConCopiaOculta(List<String> conCopiaOculta) {
        if (this.conCopiaOculta == null) this.conCopiaOculta = new ArrayList<String>();
        this.conCopiaOculta = conCopiaOculta;
    }

    public String getAsunto() {
        return asunto;
    }

    public void setAsunto(String asunto) {
        this.asunto = asunto;
    }

    public String getCuerpo() {
        return cuerpo;
    }

    public void setCuerpo(String cuerpo) {
        this.cuerpo = cuerpo;
    }

}
